From 9ae5c53e34518db9964f06087bc2a1cdc9de39d8 Mon Sep 17 00:00:00 2001 From: Jake Wires Date: Sat, 19 May 2007 10:54:01 -0700 Subject: [PATCH] [BLKTAP] Ensure blktap doesn't try to re-create extant sysfs entries Signed-off-by: Jake Wires --- linux-2.6-xen-sparse/drivers/xen/blktap/xenbus.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/linux-2.6-xen-sparse/drivers/xen/blktap/xenbus.c b/linux-2.6-xen-sparse/drivers/xen/blktap/xenbus.c index 5fa4c31a9b..1d99f1434f 100644 --- a/linux-2.6-xen-sparse/drivers/xen/blktap/xenbus.c +++ b/linux-2.6-xen-sparse/drivers/xen/blktap/xenbus.c @@ -161,7 +161,9 @@ int xentap_sysfs_addif(struct xenbus_device *dev) void xentap_sysfs_delif(struct xenbus_device *dev) { + struct backend_info *be = dev->dev.driver_data; sysfs_remove_group(&dev->dev.kobj, &tapstat_group); + be->group_added = 0; } static int blktap_remove(struct xenbus_device *dev) @@ -212,11 +214,13 @@ static void tap_update_blkif_status(blkif_t *blkif) return; } - err = xentap_sysfs_addif(blkif->be->dev); - if (err) { - xenbus_dev_fatal(blkif->be->dev, err, - "creating sysfs entries"); - return; + if (!blkif->be->group_added) { + err = xentap_sysfs_addif(blkif->be->dev); + if (err) { + xenbus_dev_fatal(blkif->be->dev, err, + "creating sysfs entries"); + return; + } } blkif->xenblkd = kthread_run(tap_blkif_schedule, blkif, name); -- 2.30.2